package com.vue3.blog.domain.vo;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author Mr.小朱同学
 * @version 1.0.0
 * @date 2025/6/13 19:51
 * @description 文章评论
 */
@Data
public class CommentTreeVO implements Serializable {
    /**
     * 评论唯一标识（主键）
     */
    private Long id;

    /**
     * 评论所属文章ID（外键）
     * 关联到文章表的主键，标识该评论属于哪篇文章
     */
    private Long postId;

    /**
     * 是否作者评论标识
     * 0-普通用户评论，1-文章作者评论
     */
    private Integer isAuthor = 0;

    /**
     * 评论人名称
     * 发表评论的用户昵称或名称
     */
    private String commentator;

    /**
     * 回复的评论人名称
     */
    private String replyCommentator;

    /**
     * 联系方式
     * 评论人的联系信息（如邮箱、手机号等）
     */
    private String contact;

    /**
     * 评论内容
     * 用户发表的评论文本内容
     */
    private String content;
    /**
     * 省份信息
     * 根据IP地址解析出的用户所在省份
     */
    private String province;
    /**
     * 是否回复
     */
    private Integer isReply = 0;

    /**
     * 父评论ID
     * 用于构建评论层级结构，指向被回复的评论ID
     */
    private Long parentId = 0L;
    /**
     * 评论时间
     */
    private Date createdTime;
    /**
     * 子评论
     */
    private List<CommentTreeVO> children;
}